Jim Porter [Tue, 21 Mar 2023 00:24:28 +0000 (17:24 -0700)]
; Fix an edge case in how 'eshell-do-eval' handles 'let' bodies
* lisp/eshell/esh-cmd.el (ehell-do-eval): Use 'car-safe'; the object
in question might not be a cons cell.
Jim Porter [Tue, 28 Mar 2023 03:58:55 +0000 (20:58 -0700)]
Fix expansion of globs that contain a ~USER reference
This regressed from the fix to bug#28064, and was discovered here:
<https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-03/msg01744.html>.
* lisp/eshell/em-dirs.el (eshell-expand-user-reference): Let FILE be a
list, and move the implementation to...
(eshell-expand-user-reference-1): ... here.
* lisp/eshell/em-glob.el (eshell-add-glob-modifier): Remove special
handling for expanding user references; it's better to keep it in
"em-dirs.el".
Ken Brown [Sun, 26 Mar 2023 19:02:30 +0000 (15:02 -0400)]
Enable ASLR for dynamic libraries on Cygwin
This seems to avoid the fork failures described in etc/PROBLEMS
("Fork failures in a build with native compilation").
* lisp/treesit.el (treesit--install-language-grammar-1):
* lisp/emacs-lisp/comp.el (native-comp-driver-options): Add the
linker flag "-Wl,-dynamicbase" on Cygwin.
Stefan Monnier [Mon, 27 Mar 2023 21:16:59 +0000 (17:16 -0400)]
Merge from origin/emacs-29
edc460e3b6c Fix accidental backward-incompatible change (bug#62417)
cbef1422fe3 ruby-ts-mode: Fix/simplify Imenu index generation
a0d5fba74a6 (ruby-ts--align-chain): Use 'equal' to check for an exact...
Stefan Monnier [Mon, 27 Mar 2023 21:16:59 +0000 (17:16 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
f631c90e791 ; Use string-search instead of string-match[-p] in ruby-t...
Stefan Monnier [Mon, 27 Mar 2023 21:16:59 +0000 (17:16 -0400)]
Merge from origin/emacs-29
0337131bfa1 Update to Transient
v0.3.7-218-g3dbb22a
a8c23677d39 Update to Org 9.6.2
45b16bfb496 Skip failing tests on Cygwin with native compilation (bug...
8b4a494d8d4 Fix GNUSTEP tests on EMBA
# Conflicts:
# test/infra/gitlab-ci.yml
Stefan Monnier [Mon, 27 Mar 2023 21:16:58 +0000 (17:16 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
a952bdd6af0 Fix primary selection modification during `term-mouse-pas...
Stefan Monnier [Mon, 27 Mar 2023 21:16:58 +0000 (17:16 -0400)]
Merge from origin/emacs-29
b08bf828605 ; Fix :version of the new defcustom
d941666d859 ; Fix last change
e19b7da7b09 Add 'eww-default-download-directory'.
564c26bdbeb ; Fix edebug spec for 'gv-define-simple-setter' (bug#62256)
Stefan Monnier [Mon, 27 Mar 2023 21:16:58 +0000 (17:16 -0400)]
; Merge from origin/emacs-29
The following commits were skipped:
9107b2dec1f * doc/lispref/modes.texi: Improve docs for obsolete '%m' ...
59b7086838e Improve docs for global-mode-string / %M construct
207176e6b1c * src/buffer.c (mode-line-format): Document %o and %q con...
9cfae822fb3 * src/buffer.c (mode-line-format): Remove docs for obsole...
Stefan Monnier [Mon, 27 Mar 2023 21:16:58 +0000 (17:16 -0400)]
Merge from origin/emacs-29
8f42db010d1 Improve indenting "case" in Python
c4d490490dc ; * test/src/fns-tests.el: Fix last change
875e77a66a6 * test/infra/Dockerfile.emba (emacs-native-comp): Add zli...
64a2b0d36fe Fix failure of fns-tests-collate-strings on Cygwin
90fc6b987ad * lisp/savehist.el (savehist-save): Preserve shared struc...
08fbc133756 Adapt Tramp manual
accb3871668 Fix system time sampling on MS-Windows
33d436eefa1 Fix treesit_ensure_parsed (bug#62333)
d93a439846f * lisp/help-fns.el (find-lisp-object-file-name): Fix bug#...
be8147c53f9 Improve "Bugs" in the Emacs manual
Stefan Monnier [Mon, 27 Mar 2023 21:16:58 +0000 (17:16 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
82523dc621a Fix Eglot progress reporting
Stefan Monnier [Mon, 27 Mar 2023 21:14:27 +0000 (17:14 -0400)]
Merge commit '
1bc9dfc5bee'
Michael Albinus [Mon, 27 Mar 2023 16:32:49 +0000 (18:32 +0200)]
* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Michael Albinus [Mon, 27 Mar 2023 13:46:44 +0000 (15:46 +0200)]
Fix Tramp error messages
* lisp/net/tramp.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el: Fix error messages.
João Távora [Mon, 27 Mar 2023 11:25:16 +0000 (12:25 +0100)]
Fix accidental backward-incompatible change (bug#62417)
This code used to work, but with the change of
59ecf25fc860 it stopped
working:
(defun foop (buffer-name _alist) (string-match "foop" buffer-name))
(add-to-list 'display-buffer-alist '(foop . display-buffer-other-frame))
This change makes it work again, restoring compatibility.
* lisp/subr.el (buffer-match-p): Fix and adjust docstring.
* lisp/window.el (display-buffer-alist): Adjust docstring.
(display-buffer-assq-regexp): Make good on promise of display-buffer-alist.
Dmitry Gutov [Mon, 27 Mar 2023 00:49:13 +0000 (03:49 +0300)]
ruby-ts-mode: Fix/simplify Imenu index generation
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--full-name): Drop '#'
from the end of resulting string when the node is not a method.
Support 'singleton_method' nodes.
(ruby-ts--imenu-helper): Simplify, to create a "flat" list of
entries, rather than a nested one. The previous implementation
had problems (like producing a nested structure of full-qualified
names, thus creating a lot of textual repetition), seems easier to
just follow ruby-mode's example here, at least for Emacs 29's
release.
* test/lisp/progmodes/ruby-ts-mode-tests.el (ruby-ts-imenu-index):
New test.
Dmitry Gutov [Sun, 26 Mar 2023 23:11:16 +0000 (02:11 +0300)]
(ruby-ts--align-chain): Use 'equal' to check for an exact match
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain): Use
'equal' to check for an exact match rather than substring.
Mattias Engdegård [Sun, 26 Mar 2023 10:09:41 +0000 (12:09 +0200)]
; Use string-search instead of string-match[-p] in ruby-ts-mode.el
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain):
Use the much faster string-search when just searching for a substring.
(cherry picked from commit
0724c6dbdaef2c549409836ba4f7999e05aa31fe)
Philip Kaludercic [Sun, 26 Mar 2023 11:50:27 +0000 (13:50 +0200)]
Have Xref inherit input method when reading identifiers
* lisp/progmodes/xref.el (xref--read-identifier): Set
INHERIT-INPUT-METHOD flag to non-nil. (Bug#61299)
Philip Kaludercic [Tue, 14 Mar 2023 10:50:31 +0000 (11:50 +0100)]
Add option to register packages as projects
* lisp/emacs-lisp/package-vc.el (package-vc-register-as-project): Add
new option.
(project-remember-projects-under): Declare function for usage in
'package-vc--clone'.
(package-vc--clone): Respect 'package-vc-register-as-project'.
* etc/NEWS: Document the feature.
Jonas Bernoulli [Sun, 26 Mar 2023 21:53:03 +0000 (23:53 +0200)]
Update to Transient
v0.3.7-218-g3dbb22a
Kyle Meyer [Sun, 26 Mar 2023 21:01:14 +0000 (17:01 -0400)]
Update to Org 9.6.2
Michael Albinus [Sun, 26 Mar 2023 18:47:25 +0000 (20:47 +0200)]
* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Michael Albinus [Sun, 26 Mar 2023 18:47:12 +0000 (20:47 +0200)]
Add sanity check in tramp-gvfs.el
* lisp/net/tramp-gvfs.el (tramp-gvfs-listmountableinfo)
(tramp-gvfs-listmounttypes): New defconst.
(tramp-gvfs-maybe-open-connection): Add sanity check whether GVFS
backend is available.
Ken Brown [Sat, 25 Mar 2023 22:59:33 +0000 (18:59 -0400)]
Implement list-system-processes on Cygwin
* configure.ac (HAVE_PROCFS): Define to 1 on Cygwin. (Bug#62462)
Ken Brown [Sat, 25 Mar 2023 20:37:51 +0000 (16:37 -0400)]
Skip failing tests on Cygwin with native compilation (bug#62450)
* test/Makefile.in (TEST_NATIVE_COMP): New variable, used to
determine whether to run tests tagged with :nativecomp. Set it to
"no" on Cygwin and to $(HAVE_NATIVE_COMP) otherwise.
* test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests): Skip
on Cygwin with native-compilation.
Michael Albinus [Sun, 26 Mar 2023 12:20:05 +0000 (14:20 +0200)]
Fix GNUSTEP tests on EMBA
* configure.ac (LIBS_GNUSTEP): Adapt CPPFLAGS and CFLAGS. (Bug#62210)
Proposed by Po Lu <luangruo@yahoo.com>.
* test/infra/gitlab-ci.yml (build-image-gnustep)
(test-gnustep): Uncomment jobs.
Phil Sainty [Sun, 26 Mar 2023 12:19:19 +0000 (01:19 +1300)]
* lisp/term.el (term-mouse-paste) Do not treat as a yank command (bug#58608)
This command sends the primary selection to the inferior process
rather than inserting it into the buffer, and it's entirely up to the
process as to whether anything at all gets inserted into the buffer as
a result, so this is not a `yank' as far as Emacs is concerned.
Phil Sainty [Sun, 26 Mar 2023 12:06:52 +0000 (01:06 +1300)]
Fix primary selection modification during `term-mouse-paste' (bug#58608)
* lisp/term.el (term-mouse-paste): Prevent the primary selection from
being changed in the process of sending it to the inferior process.
Phil Sainty [Sun, 26 Mar 2023 12:06:52 +0000 (01:06 +1300)]
Fix primary selection modification during `term-mouse-paste' (bug#58608)
* lisp/term.el (term-mouse-paste): Prevent the primary selection from
being changed in the process of sending it to the inferior process.
Evgeni Kolev [Wed, 8 Feb 2023 15:16:02 +0000 (17:16 +0200)]
Fix 'go-ts-mode's incorrect docstring inserted for methods
The docstring inserted with go-ts-mode's C-c C-d was incorrectly
prefixed with the receiver "(myStruct).":
// (myStruct).act
func (m *myStruct) act () {...}
The above docstring is not correct because the receiver "myStruct"
should not be in the docstring. This commit fixes the incorrect
behavior.
* lisp/progmodes/go-ts-mode.el (go-ts-mode--defun-name): New
optional argument SKIP-PREFIX.
(go-ts-mode-docstring): Call (go-ts-mode--defun-name t)
instead of (treesit-defun-name). (Bug#62371)
Eli Zaretskii [Sun, 26 Mar 2023 11:58:40 +0000 (14:58 +0300)]
; Fix :version of the new defcustom
Eli Zaretskii [Sun, 26 Mar 2023 11:56:57 +0000 (14:56 +0300)]
; Fix last change
* lisp/net/eww.el (eww-download-directory): Rename from
'eww-default-download-directory'. All users changed. Change
:type to be a directory. Doc fix. (Bug#62435)
Xi Lu [Sat, 25 Mar 2023 13:38:48 +0000 (21:38 +0800)]
Add 'eww-default-download-directory'.
* lisp/net/eww.el (eww-default-download-directory): New defcustom.
(eww--download-directory): Use it. (Bug#62435)
Matus Goljer [Sun, 26 Mar 2023 11:20:19 +0000 (13:20 +0200)]
; Fix edebug spec for 'gv-define-simple-setter' (bug#62256)
Phil Sainty [Sun, 14 Aug 2022 11:17:38 +0000 (23:17 +1200)]
* src/buffer.c (mode-line-format): Reorder and reformat %-construct docs
The original formatting dates back to the earliest commits. It saved
a few lines but was harder to follow. As windows are typically taller
now than the terminals of the time, this reformatting now makes better
sense for readabiity. See bug#57080.
* doc/lispref/modes.texi: Order change for consistency. Add index.
Phil Sainty [Sun, 14 Aug 2022 11:16:48 +0000 (23:16 +1200)]
* doc/lispref/modes.texi: Improve docs for obsolete '%m' construct
Bug #57080.
Phil Sainty [Sun, 14 Aug 2022 11:14:51 +0000 (23:14 +1200)]
Improve docs for global-mode-string / %M construct
* src/xdisp.c (global-mode-string): Update docstring.
* doc/lispref/modes.texi: Update manual.
Phil Sainty [Sun, 14 Aug 2022 11:11:43 +0000 (23:11 +1200)]
* src/buffer.c (mode-line-format): Document %o and %q constructs
Missed from commit
b0b02ca7f3e06d0f092df6f81babd1277bf93b0f.
Phil Sainty [Sun, 14 Aug 2022 10:34:41 +0000 (22:34 +1200)]
* src/buffer.c (mode-line-format): Remove docs for obsolete %t construct
This documentation had been previously removed in 1999 in [1]
but was subsequently restored again in a different form in 2006
in [2] as the construct was still supported on some systems.
However it looks like it hasn't done what that documentation
indicated since [3] in 2011, and the final remnant of this
functionality was removed in [4] in 2013; so it seems clear that
it's no longer supported and shouldn't be documented now.
[1] commit
08de62001945d4dd32a3d6af44da05804cb296d5
[2] commit
dafbe726b89a36010f3f24bb1efe4ace0a5f7f0f
[3] commit
05c652517317d10690aaf0a6aa0bc876382b9d82
[4] commit
8549f9e89bd9288c4c709d183a5bf8f07dbeed3d
Phil Sainty [Sun, 14 Aug 2022 11:16:48 +0000 (23:16 +1200)]
* doc/lispref/modes.texi: Improve docs for obsolete '%m' construct
Bug #57080.
Phil Sainty [Sun, 14 Aug 2022 11:14:51 +0000 (23:14 +1200)]
Improve docs for global-mode-string / %M construct
* src/xdisp.c (global-mode-string): Update docstring.
* doc/lispref/modes.texi: Update manual.
Phil Sainty [Sun, 14 Aug 2022 11:11:43 +0000 (23:11 +1200)]
* src/buffer.c (mode-line-format): Document %o and %q constructs
Missed from commit
b0b02ca7f3e06d0f092df6f81babd1277bf93b0f.
Phil Sainty [Sun, 14 Aug 2022 10:34:41 +0000 (22:34 +1200)]
* src/buffer.c (mode-line-format): Remove docs for obsolete %t construct
This documentation had been previously removed in 1999 in [1]
but was subsequently restored again in a different form in 2006
in [2] as the construct was still supported on some systems.
However it looks like it hasn't done what that documentation
indicated since [3] in 2011, and the final remnant of this
functionality was removed in [4] in 2013; so it seems clear that
it's no longer supported and shouldn't be documented now.
[1] commit
08de62001945d4dd32a3d6af44da05804cb296d5
[2] commit
dafbe726b89a36010f3f24bb1efe4ace0a5f7f0f
[3] commit
05c652517317d10690aaf0a6aa0bc876382b9d82
[4] commit
8549f9e89bd9288c4c709d183a5bf8f07dbeed3d
Mattias Engdegård [Sun, 26 Mar 2023 10:09:41 +0000 (12:09 +0200)]
Use string-search instead of string-match[-p] when possible
* lisp/progmodes/c-ts-mode.el
(c-ts-mode--standalone-parent-skip-preproc):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain):
* lisp/treesit.el (treesit-max-buffer-size)
(treesit--check-manual-coverage):
Use the much faster string-search when just searching for a substring.
kobarity [Sat, 25 Mar 2023 13:59:05 +0000 (22:59 +0900)]
Improve indenting "case" in Python
* lisp/progmodes/python.el (python-info-dedenter-statement-p): Do not
consider the first "case" in the block as dedenter.
* test/lisp/progmodes/python-tests.el
(python-info-dedenter-opening-block-positions-7)
(python-info-dedenter-statement-p-6): New tests. (Bug#62092)
Andrew G Cohen [Sun, 26 Mar 2023 00:26:18 +0000 (08:26 +0800)]
* lisp/gnus/nnselect.el (nnselect-request-thread): Correctly parse queries.
Michael Albinus [Sat, 25 Mar 2023 17:29:25 +0000 (18:29 +0100)]
* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Michael Albinus [Sat, 25 Mar 2023 17:28:55 +0000 (18:28 +0100)]
Connection-local variables are applied in buffers visiting a remote file
* etc/NEWS: Connection-local variables are applied in buffers
visiting a remote file.
* test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables):
Fix test.
Ken Brown [Sat, 25 Mar 2023 16:54:23 +0000 (12:54 -0400)]
; * test/src/fns-tests.el: Fix last change
Mattias Engdegård [Sat, 25 Mar 2023 16:43:43 +0000 (17:43 +0100)]
Fix shortdoc-tests when Unicode arrows can be displayed
New shortdoc functions use Unicode arrows when possible, which caused
some tests to fail if run under such circumstances.
* test/lisp/emacs-lisp/shortdoc-tests.el
(shortdoc-tests--to-ascii): New function.
(shortdoc-function-examples-test)
(shortdoc-help-fns-examples-function-test): Call it.
Michael Albinus [Sat, 25 Mar 2023 16:33:33 +0000 (17:33 +0100)]
* test/infra/Dockerfile.emba (emacs-native-comp): Add zlib1g-dev.
Mattias Engdegård [Sat, 25 Mar 2023 14:38:00 +0000 (15:38 +0100)]
Generalise a LAP optimisation rule
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a
rule previously overlooked. This is usually beneficial in code size
and almost always shortens dynamic paths.
Ken Brown [Fri, 24 Mar 2023 15:35:40 +0000 (11:35 -0400)]
Fix failure of fns-tests-collate-strings on Cygwin
* test/src/fns-tests.el (fns-tests-collate-strings): Use
en_XY.UTF-8 instead of en_DE.UTF-8 as an example of an invalid
locale; en_DE.UTF-8 is actually a valid locale on Cygwin.
Note: The test will still fail on Cygwin releases < 3.5
because of a Cygwin bug. (Bug#62420)
Aaron L. Zeng [Tue, 21 Mar 2023 20:07:54 +0000 (16:07 -0400)]
* lisp/savehist.el (savehist-save): Preserve shared structure
This avoids ballooning the size of variables that contain
large text properties, such as the 'yank-handler' installed
by 'evil-yank-rectangle', which contains a list of lines in
the string.
* lisp/savehist.el (savehist-save): Enable 'print-circle'.
(Bug#62364)
Copyright-paperwork-exempt: yes
Yuan Fu [Fri, 24 Mar 2023 19:25:19 +0000 (12:25 -0700)]
Switch buffer in Ftreesit_query_capture
This way both #pred and #match predicates runs in the node's buffer by
default.
* src/treesit.c:
(treesit_predicate_match): No need to switch buffer anymore.
(Ftreesit_query_capture): Switch buffer.
* doc/lispref/parsing.texi (Pattern Matching): Update manual.
Yuan Fu [Fri, 24 Mar 2023 19:19:25 +0000 (12:19 -0700)]
Handle signals gracefully in tree-sitter query predicates
Before this change, predicate functions can signal, which will cause
Ftreesit_query_capture to skip freeing the query and cursor object.
We make predicate functions return the signal data rather than
directly signal.
* src/treesit.c (treesit_predicate_capture_name_to_node)
(treesit_predicate_capture_name_to_text)
(treesit_predicate_equal)
(treesit_predicate_match)
(treesit_predicate_pred)
(treesit_eval_predicates): Return signal rather than signaling
directly.
(Ftreesit_query_capture): Check for returned signal data.
Yuan Fu [Fri, 24 Mar 2023 18:34:39 +0000 (11:34 -0700)]
; * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer-separator): Fix doc.
Yuan Fu [Tue, 21 Mar 2023 23:13:23 +0000 (16:13 -0700)]
; Minor refactor of Ftreesit_query_capture
* src/treesit.c (Ftreesit_query_capture): Move around some variable
initialization.
Yuan Fu [Tue, 21 Mar 2023 23:03:08 +0000 (16:03 -0700)]
Refactor Ftreesit_query_capture
Refactor some part of Ftreesit_query_capture out into separate
functions, to pave the way for other query-based functions.
* src/treesit.c (treesit_resolve_node): New function.
(treesit_initialize_query): New function.
(Ftreesit_query_capture): Refactor some part into new functions.
Eli Zaretskii [Fri, 24 Mar 2023 18:37:11 +0000 (21:37 +0300)]
Fix invocation of elixir LSP server on MS-Windows
* lisp/progmodes/eglot.el (eglot-server-programs): Invoke the
elixir-ls LSP via a batch file if using an MS-Windows shell.
(Bug#62407)
João Távora [Fri, 24 Mar 2023 17:37:01 +0000 (17:37 +0000)]
Allow users to customize eldoc buffer separator (bug#62029)
* lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer-separator): New
variable.
(eldoc--format-doc-buffer): Use it.
João Távora [Fri, 24 Mar 2023 17:16:00 +0000 (17:16 +0000)]
Eldoc: slightly enhance meaning of :echo option
Can now be a string to echo instead of a larger docstring.
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions):
Describe :echo.
(eldoc--echo-area-render): Allow :echo to be string.
Mattias Engdegård [Fri, 24 Mar 2023 15:03:41 +0000 (16:03 +0100)]
* etc/NEWS: Mention that \x without hex digits is an error.
João Távora [Fri, 24 Mar 2023 14:34:05 +0000 (14:34 +0000)]
Eldoc: fix bug recently introduced in "old" protocol
In the "old" protocol, eldoc-documentation-strategy is actually used
as the deprecated eldoc-documentation-function and it is itself the
"origin" of the doc snippet to be displayed.
* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix.
Michael Albinus [Fri, 24 Mar 2023 12:30:25 +0000 (13:30 +0100)]
Adapt Tramp manual
* doc/misc/tramp.texi (Default Method): OpenSSH for MS Windows can
be used.
(Ssh setup): Extend for MS Windows and ssh.
Eli Zaretskii [Fri, 24 Mar 2023 11:10:30 +0000 (14:10 +0300)]
Fix system time sampling on MS-Windows
* src/timefns.c (emacs_localtime_rz) [WINDOWSNT]: Unconditionally
call tzset to make sure we pick up all the changes of time zone,
working around the MS CRT caching.
Yuan Fu [Fri, 24 Mar 2023 07:17:10 +0000 (00:17 -0700)]
Fix treesit_ensure_parsed (bug#62333)
* src/treesit.c (treesit_ensure_parsed): Check for need_reparse after
treesit_sync_visible_region runs, because as the comment says,
treesit_sync_visible_region might modify need_reparse.
JD Smith [Thu, 23 Mar 2023 17:43:52 +0000 (17:43 +0000)]
Eglot: let user opt-in to plaintext LSP docs (bug#61373)
* lisp/progmodes/eglot.el
(eglot-prefer-plaintext): New variable.
(eglot-client-capabilities): Use it.
Copyright-paperwork-exempt: yes
João Távora [Thu, 23 Mar 2023 17:34:46 +0000 (17:34 +0000)]
Eglot: don't send invisible text to Eldoc
Eglot's rendering of Markdown is imperfect and based on gfm-view-mode.
To make it slightly better, don't send invisible text in
eglot-hover-eldoc-function.
* lisp/progmodes/eglot.el (eglot--format-markup): Hide invisible text.
João Távora [Thu, 23 Mar 2023 09:04:27 +0000 (09:04 +0000)]
Eglot: inform ElDoc about overly long 'hover' docs
* lisp/progmodes/eglot.el (eglot-hover-eldoc-function): Include :echo
info in return value.
João Távora [Thu, 23 Mar 2023 09:02:18 +0000 (09:02 +0000)]
ElDoc: rework rendering of echo area (bug#62029)
Previously, the display function 'eldoc-display-in-echo-area' reused
the same buffer as 'eldoc-display-in-doc-buffer', but that made it
harder to render documentation items differently depending on the
specific constraints of each display functions.
Allow documentation-generating backends to pass an :echo-area property
for tweaking the echo area display of certain documentation items.
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Update docstring.
(eldoc--doc-buffer-docs): Remove.
(eldoc--format-doc-buffer): Simplify.
(eldoc--echo-area-render): New helper.
(eldoc-display-in-echo-area): Use 'eldoc--echo-area-render'.
João Távora [Wed, 22 Mar 2023 13:35:43 +0000 (13:35 +0000)]
ElDoc: remember origin backend in doc snippets (bug#62029)
This lays groundwork for discriminating between different
documentation providers in ElDoc display outlets, i.e. members
of eldoc-display-functions
* lisp/emacs-lisp/eldoc.el (eldoc--make-callback): Take extra origin arg.
(eldoc-documentation-compose-1)
(eldoc-documentation-compose-eagerly)
(eldoc-documentation-default): Pass extra arg to eglot--make-callback.
(eldoc--invoke-strategy): Rework.
(eldoc-documentation-functions): Work docstring.
João Távora [Thu, 23 Mar 2023 13:13:16 +0000 (13:13 +0000)]
Eglot: rework progress indicators
Show progress indicator in Eglot's mode line by default.
* lisp/progmodes/eglot.el (eglot-report-progress): Work docstring.
(eglot--mode-line-format): Rework.
(eglot-handle-notification $/progress): Rework.
João Távora [Wed, 22 Mar 2023 10:16:17 +0000 (10:16 +0000)]
Eglot: more leniently handle 'window/showMessageRequest'
Some servers mess up this message's arguments.
* lisp/progmodes/eglot.el (eglot-handle-request): Fix.
Stefan Monnier [Thu, 23 Mar 2023 17:43:45 +0000 (13:43 -0400)]
* lisp/help-fns.el (find-lisp-object-file-name): Fix bug#62376 part2
Nowadays `loaddefs.el` are byte-compiled, so adjust pattern accordingly
Michael Albinus [Thu, 23 Mar 2023 16:09:52 +0000 (17:09 +0100)]
New user option remote-file-name-inhibit-auto-save
* doc/misc/tramp.texi (Auto-save File Lock and Backup):
Mention remote-file-name-inhibit-auto-save.
(Frequently Asked Questions): Describe, how to suppress auto-save.
* etc/NEWS: Add remote-file-name-inhibit-auto-save.
* lisp/simple.el (remote-file-name-inhibit-auto-save): New defcustom.
(auto-save-mode): Handle it. (Bug#62260)
* lisp/net/tramp-integration.el
(tramp-set-connection-local-variables-for-buffer): Declare.
(find-file-hook): Add `tramp-set-connection-local-variables-for-buffer'.
Eli Zaretskii [Thu, 23 Mar 2023 13:33:04 +0000 (15:33 +0200)]
Improve "Bugs" in the Emacs manual
* doc/emacs/trouble.texi (Bugs, Known Problems)
(Understanding Bug Reporting, Checklist, Sending Patches)
(Contributing, Coding Standards): Improve wording, structure,
markup, and indexing. (Bug#62320)
João Távora [Thu, 23 Mar 2023 10:25:17 +0000 (10:25 +0000)]
Fix Eglot progress reporting
When the server sends an "end" message, Emacs's progress reporters
should also be updated.
* lisp/progmodes/eglot.el (eglot-handle-notification $/progress): Rework.
João Távora [Tue, 21 Mar 2023 14:55:57 +0000 (14:55 +0000)]
; Minor copyedits to Eglot manual
* doc/misc/eglot.texi (Troubleshooting Eglot): Minor fixes.
Eli Zaretskii [Thu, 23 Mar 2023 09:30:19 +0000 (11:30 +0200)]
; Improve documentation of :predicate in globalized minor modes
* doc/lispref/modes.texi (Defining Minor Modes):
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Improve documentation of the :predicate keyword in defining
globalized minor modes.
Michael Albinus [Thu, 23 Mar 2023 09:21:11 +0000 (10:21 +0100)]
* test/infra/Dockerfile.emba (emacs-eglot): Install wget.
Stefan Monnier [Wed, 22 Mar 2023 17:52:50 +0000 (13:52 -0400)]
Fix :predicate handling in globalized minor modes
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Fix a thinko. (Bug#62376)
Wilhelm H Kirschbaum [Tue, 21 Mar 2023 10:13:58 +0000 (12:13 +0200)]
; Add test for embedded HEEx to elixir-ts-mode-tests
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test. (Bug#62327)
Eli Zaretskii [Thu, 23 Mar 2023 08:48:31 +0000 (10:48 +0200)]
; * lisp/progmodes/eglot.el (eglot-server-programs): Fix last change.
Wilhelm H Kirschbaum [Tue, 21 Mar 2023 09:48:30 +0000 (11:48 +0200)]
Add heex-ts-mode to eglot-server-programs (bug#62327)
The same language server is used for elixir and heex modes.
* lisp/progmodes/eglot.el (eglot-server-programs): Add heex-ts-mode.
Eli Zaretskii [Thu, 23 Mar 2023 08:31:56 +0000 (10:31 +0200)]
Allow showing prefix commands in Help buffers
* lisp/help.el (describe-bindings-show-prefix-commands): New user
option.
(describe-map): Use it to decide whether to output prefix
commands. Patch by Bob Rogers <rogers@rgrjr.com>. (Bug#62279)
* etc/NEWS: Document 'describe-bindings-show-prefix-commands'.
Daniel Martín [Sat, 18 Mar 2023 00:47:32 +0000 (01:47 +0100)]
Fix toolbar item validation in the NS port
* src/nsterm.m ([EmacsView validateToolbarItem:]): Implement this
NSToolbarItemValidation method, which is called by AppKit when it
needs to validate an image item in a toolbar. This solves, in
particular, the problem with having the "Save" icon on the tool
bar enabled at Emacs startup. (Bug#62234)
Eli Zaretskii [Thu, 23 Mar 2023 08:03:04 +0000 (10:03 +0200)]
; Describe problems with 'screen' and COLORTERM variable
* etc/PROBLEMS: Describe the issue with 'screen' and
COLORTERM=truecolor. (Bug#62237)
Stefan Kangas [Thu, 23 Mar 2023 05:30:13 +0000 (06:30 +0100)]
Merge from origin/emacs-29
6de00e4df99 ; Fix xref-match's :version since the default value did c...
db355b420b6 Use libgccjit-10-dev on EMBA
84963956535 * lisp/outline.el (outline--fix-buttons-after-change): Ad...
3d3bbaace69 Align concatenated strings to the first sibling in c-ts-mode
f856468e457 Only fill the current paragraph in c-ts-common--fill-bloc...
df669c5a11f Add missing indent rule for c-ts-mode
Dmitry Gutov [Wed, 22 Mar 2023 16:16:50 +0000 (18:16 +0200)]
; Fix xref-match's :version since the default value did change
Sean Whitton [Wed, 22 Mar 2023 17:28:05 +0000 (10:28 -0700)]
Make icomplete-tidy-shadowed-file-names into a defcustom
lisp/icomplete.el (icomplete-tidy-shadowed-file-names): Make variable
into a defcustom.
Felician Nemeth [Wed, 22 Mar 2023 18:34:03 +0000 (18:34 +0000)]
Subject: send clientInfo during the initialize request
'clientInfo' arrived in LSP 3.15.0. LSP clients can use clientInfo to
identify themselves in the initialize request. This is generally
useful for various debugging tasks.
* lisp/progmodes/eglot.el (eglot--connect): Send clientInfo.
Author:
Michael Albinus [Wed, 22 Mar 2023 17:34:23 +0000 (18:34 +0100)]
Use libgccjit-10-dev on EMBA
* test/infra/Dockerfile.emba (emacs-native-comp): Use
libgccjit-10-dev. (Bug#62211)
* test/infra/gitlab-ci.yml (build-native-comp-speed2)
(test-native-comp-speed2): Uncomment jobs.
Eli Zaretskii [Wed, 22 Mar 2023 15:26:22 +0000 (17:26 +0200)]
Fix compilation of lib-src/movemail
* lib-src/movemail.c: Include timespec.h. Reported by Andreas
Schwab <schwab@linux-m68k.org>.
Michael Albinus [Wed, 22 Mar 2023 14:00:15 +0000 (15:00 +0100)]
Add platform for Eglot tests on EMBA
* test/infra/Dockerfile.emba (emacs-eglot): New image.
* test/infra/gitlab-ci.yml (.eglot-template): New template.
(build-image-eglot, test-eglot): New jobs.
Robert Pluim [Wed, 22 Mar 2023 11:46:11 +0000 (12:46 +0100)]
Make eglot--clangd-version more robust
* test/lisp/progmodes/eglot-tests.el (eglot--clangd-version): Check
for 'version ' followed by a combination of numbers and dots to
extract the clangd version.
Juri Linkov [Wed, 22 Mar 2023 07:44:02 +0000 (09:44 +0200)]
* lisp/outline.el (outline--fix-buttons-after-change): Add save-match-data.
It's important for a hook in after-change-functions not to change match-data.
Otherwise it breaks functions that make changes in the buffer, such as
for example, successive calls to delete-region in smerge-keep-n, etc.
Yuan Fu [Wed, 22 Mar 2023 06:27:20 +0000 (23:27 -0700)]
Align concatenated strings to the first sibling in c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Change rule.
Yuan Fu [Wed, 22 Mar 2023 05:50:03 +0000 (22:50 -0700)]
Only fill the current paragraph in c-ts-common--fill-block-comment
* lisp/progmodes/c-ts-common.el:
(c-ts-common--fill-block-comment): Shrink the filled region to the
paragraph at point.